package com.jimo.basetools.utils;

import java.util.ArrayList;
import java.util.List;

public class ListUtils {

    /**
     * 新建一个list
     * @param <E> list放置的对象
     * @return 一个空的list
     */
    public static <E> ArrayList<E> newArrayList() {
        return new ArrayList();
    }

    /**
     * 将一个list均分成n个list
     *
     * @param list 数据
     * @param size 批次大小
     * @return 分成n个list
     */
    public static <T> List<List<T>> distributionList(List<T> list, int size) {
        List<List<T>> result = newArrayList();
        //获取被拆分的数组个数
        int arrSize = list.size() % size == 0 ? list.size() / size : list.size() / size + 1;
        for (int i = 0; i < arrSize; i++) {
            List<T> value = newArrayList();
            //把指定索引数据放入到list中
            for (int j = i * size; j <= size * (i + 1) - 1; j++) {
                if (j <= list.size() - 1) {
                    //得到拆分后的集合
                    value.add(list.get(j));
                }
            }
            //将拆分后的集合综合为一个集合
            result.add(value);
        }
        return result;
    }


}
